package com.yazi.mxz.common.service;


import com.myframework.smhj.common.exception.MyException;
import com.myframework.smhj.hibernate.Searching;
import com.myframework.smhj.hibernate.Page;
import com.myframework.smhj.hibernate.dao.Service;
import com.yazi.mxz.common.entity.beans.Company;
import com.yazi.mxz.common.entity.beans.StoreMember;

public interface StoreMemberService extends Service<StoreMember> {
	
	/**
	 * 添加店铺管理员,并赋予管理角色
	 * @param company 企业(游离对象)
	 * @param sm 店铺管理员(构建对象)
	 * @param roleId 角色ID
	 * @return
	 */
	StoreMember addByCompany(Company company, StoreMember sm, 
			Long roleId) throws MyException;
	
	/**
	 * 添加店铺管理员,并赋予角色<br>
	 * 本方法不检查对象属性值的合法性,因此只适用于操作已经构建完整的对象
	 * @param sm 店铺管理员(构建对象)
	 * @param roleId 角色ID
	 * @return
	 */
	StoreMember add(StoreMember sm, Long roleId) throws MyException;

	/**
	 * 查询店铺管理员<br>
	 * 
	 * @param sm 更新时间大于指定时间,其它属性按等值(eq)查询
	 * @param si
	 * @return
	 */
	Page<StoreMember> listByGtUpdateTime(StoreMember sm, Searching si);
	
}
